package org.jsea.meta.api.service.fmt;

import lombok.extern.slf4j.Slf4j;

import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * --.
 * *
 * author   Jiang.hy
 * create   2022-04-11
 */
@Slf4j(topic = "MetaApi")
public class MetaApiDecimalFormat implements MetaApiFormat {

    private final DecimalFormat format;

    public MetaApiDecimalFormat(String pattern) {
        this.format = new DecimalFormat(pattern);
    }

    @Override
    public String format(Object obj) {
        return format.format(obj);
    }

    @Override
    public Object parse(String text) {
        try {
            //考虑数据库类型是字符，使用格式化
            return format.format(new BigDecimal(text));
        } catch (Exception e) {
            log.error("DecimalFormatError : {}", e.getLocalizedMessage(), e);
        }
        return text;
    }
}
